Auto-negotiation defined in the IEEE Std. 802.3u 100BASE-T supplement Clause 28 makes it possible for data communication devices to exchange information about their abilities over a link segment. This, in turn, allows the devices to perform automatic configuration to achieve the best possible mode of operation over a link. At a minimum, auto-negotiation can provide automatic speed matching for multi-speed communication devices at each end of a link. Multi-speed Ethernet interfaces can then take advantage of the highest speed offered by a multi-speed hub port.
The auto-negotiation protocol includes automatic sensing for other capabilities as well. For example, a hub that is capable of supporting full-duplex operation on some or all of its ports can use the auto-negotiation protocol to inform communication devices that they may operate in a full-duplex mode. Interfaces connected to the hub that also support full-duplex operation can then configure themselves to use the full-duplex node in interaction with the hub.
Thus, auto-negotiation allows a data communication device to select the best transmission speed and transmission mode based on capabilities of the device at opposite side of the link. For example, device A supports transmission at 10 Mbps and 100 Mbps in half-duplex and full-duplex modes, and device B connected to device A supports 100 Mbps fill-duplex mode. Since both ends of the link support 100 Mbps full-duplex mode, device A selects this mode. However, if device C connected to device A supports only 100 Mbps half-duplex mode, device A automatically detects these capabilities of device C, and selects 100 Mbps half-duplex mode.
A typical auto-negotiation block has transmit, receive and arbitration state machines for each port supported by a data communication device. These state machines are defined by the transmit, receive and arbitration state diagrams respectively provided in FIGS. 28-14, 28-15 and 28-16 of the IEEE Std. 802.3 100BASE-T supplement. For example, FIG. 1 illustrates a conventional auto-negotiation block A-NEG in a data communication device having ports 0, 1, 2 and 3 for communicating with external devices. Each of the ports 0 to 3 has a receive state machine RSM, an arbitration state machine ARSM and a transmit state machine TxSM. The receive, arbitration and transmit state diagrams defining the state machines RSM, ARSM and TxSM are implemented simultaneously for all ports. The transmit portion of the auto-negotiation mechanism for each port provides transmission (Tx) of link pulses (LP) representing auto-negotiation data, and the receive portion provides reception (Rx) of link pulses.
To implement prescribed auto-negotiation operations, the conventional auto-negotiation block requires a substantial number of circuit elements. For example, the auto-negotiation block A-NEG requires about 1100 cells per a port, where a cell is a group of transistors. Each cell may contain about 8 transistors. Thus, for four ports, about 4400 cells are required. Therefore, the conventional auto-negotiation block occupies substantial area on a chip.
It would be desirable to reduce the number of cells required to implement an auto-negotiation system in a multi-port data communication device.